1. Field Of The Invention
This invention relates to the transmission of digital data over a communication channel and more particularly to methods and systems to acquire variable rate data and prepare the variable rate data for transmission on a fixed rate channel.
2. Description of Related Art
The periodic acquisition of data, the accumulation of the data, and transmission of the accumulated data is well known in the art. The data acquisition time is generally not related to the data rate of the transmission system.
Refer now to FIGS. 1, 2, and 3 to understand the status of this related art. In FIG. 1, a data acquisition system will periodically sample an analog signal. This analog signal will be a change in voltage, current, or frequency of an electrical signal as the result of the change in a physical phenomenon such as temperature, velocity, acceleration, pressure, or some other physical phenomena. The analog signal will be converted to a digital code representing the magnitude of the physical phenomena in an analog-to-digital converter. The digital code will be transferred to the transmission processor.
FIG. 3 shows the waveforms of the sampling and conversion to the digital code. The sensed signal 50 is the analog signal that is the result of the physical phenomena to be measured. Periodically, the sample clock will enable a sample and hold circuit that will capture a sample of the level of the sensed signal 50. This sample S1, S2, S3, S4, or S5 of the level of the sensed signal 50 will be converted to the sampled data 60. The conversions of the samples S1, S2, S3, S4, or S5 from the level of the sensed signal 50 will require some period of time. This will mean that the sample S1 will correspond to the data sample 1, the sample S2 will correspond to the data sample 2, the sample S3 will correspond to the data sample 3, etc. While the sample clock 55 is shown as having a regular period, the sampling may have a variable period or actually be asynchronous.
The transmission communication processor of FIG. 1 will receive the sampled data 60 of FIG. 3 and will retain the data until a sufficient amount is accumulated for transmission. The sampled data will be modified to conform to the data format of the communication channel.
The data will then be transmitted by the transmitter to the receiver. The receiving communications processor will extract the sampled data and transfer the sampled data to the data processor. The data processor will further manipulate the sampled data as required.
FIG. 2 shows a general structure of a communication protocol. The communication protocol will generally be a serial flow of digital data overtime. The interface may actually be a serial interface to transfer the digital data over a single communication connection or the interface may be a parallel interface composed of multiple communication connections to transfer bytes or words of the digital data.
The digital data will form a data packet having a header, a data stream and optionally a trailer. The header will contain command and control information such as the length of the data stream, error detection codes, and source and destination information. The data stream will contain the actual sample data accumulated in transmission communication processor. The optional trailer may contain redundant codes from the header, or more error detection codes as well as end of message codes.
The data packet structure allows for communication between physical entities to be maintained independent of the sampling rate of the data acquisition system. However, this causes a problem for synchronizing the data sampling with the rate of the data transmission.
U.S. Pat. No. 5,487,067 (Matsushige) discloses a data communication apparatus to allow audio equipment to communicate. A master audio device and a plurality of slave devices are connected on ring network- The digitized audio is transferred between devices formatted as frames. Each frame has a plurality of data blocks. The data blocks contain the information of the sampled audio signals. The master of the slave devices will communicate the xe2x80x9cset-upxe2x80x9d data prior to the digital audio on the network to provide control.
Data blocks that are to be received by a slave device will be extracted from the ring network and replaced with data from the slave device itself. The ring network will use acknowledged standard protocols U.S. Pat. No. 4,891,808 (Williams) discloses a self-synchronizing time division multiplexer. A plurality of input data signals is to be allocated to series of time divisions. The multiplexer will select the appropriate input data signal for transmission at the appropriate time division.
U.S. Pat. No. 5,095,425 (Hesse) describes a method for the transmission of data from one station to another by way of a data bus. Several stations are connected to the data bus in parallel. The stations will access the bus independently for the transmission of the data. There will be a signal identifying that the data bus is xe2x80x9coccupied.xe2x80x9d
Other stations will not know the clock frequency of the stations and synchronization is achieved by transmission of signals during fixed periods.
Since the data, bus indicates occupancy of the data bus, waiting times and special control sequences are not necessary or are very simple. The occupancy signals from the transmitting station will define the entire period from the data transmission.
An object of this invention is to provide a method to transmit sampled data acquired at the variable rate over a communication channel having a fixed transmission rate.
Another object of this invention is to provide a method to determine placement of the sampled data within a data stream of the communication channel. The fixed rate communication channel transfers a serial flow of data packets over a serial or parallel communication channel. Each data packet has a header and a data stream.
To accomplish these and other objects the method for transferring variable rate sampled data to a fixed rate communication channel comprises the steps of:
a. acquiring a sample of the variable rate sampled data;
b. determining a data packet in which to place the variable rate sampled data;
c. determining a location within the data stream in which to place the variable rate sampled data;
d. communicating the location within the data stream of the variable rate sampled data by a technique such as placing a pointer to the location within the header of the data packet.
e. placing the variable rate sampled data within the location within the data stream of the data packet;
f. transmitting the data packet on the fixed rate communication channel from a transmitter;
g. receiving the data packet on the fixed rate communication channel at a receiver; and
h. extracting at the receiver the variable rate sampled data from the location within the data packet; and
i. continuously repeating the aforementioned steps at each sampling of the variable rate sampled data.
A second embodiment of the method for transferring variable rate sampled data to a fixed rate communication channel will have a plurality of data packets occupying a period. A fixed number of the variable rate sampled data is will be placed within the period at fixed locations within the data streams of the plurality of data packets within the period.
The method for transferring variable rate sampled data to a fixed rate communication channel will have the additional steps of:
a. defining the period and the fixed number of variable rate sampled data; and
b. placing a definition of the period and the fixed number of variable rate data samples with the header of a first data packet of the plurality of data packets. The location of the sampled data will be fixed within the period.
A third embodiment of the method for transferring variable rate sampled data to a fixed rate communication channel has a plurality of data packets occupying a window. A specified number of variable rate sampled data will be transferred within the window.
The method for transferring variable rate sampled data to a fixed rate communication channel will additionally have the steps of:
a. defining a number of data packets within the window;
b. specifying the number of variable rate sampled data within the window; and
c. placing a definition of the window and the specified number of variable rate sampled data within the header of the first data packets of the plurality of data packets.
The variable rate sample data will be retained to be accumulated before being placed within the data stream.